package com.jinhongone.pattern.creater.singleton.demo1;

/*
* 单例模式：饿汉模式-采用静态成员变量方式
* 为什么静态成员变量直接声明且赋值就不存在线程安全问题：
*   Java虚拟机在类加载的初始化阶段（即执行<clinit>方法时）会自动加锁
*   这个锁机制保证同一个类加载器下，类的静态变量初始化和静态代码块只会执行一次
*   即使多个线程同时触发类初始化，JVM也会确保只有一个线程执行初始化过程
* */
public class Singleton {


    private static final Singleton singleton = new Singleton();

    private Singleton(){

    }
    public static Singleton getInstance(){
        return singleton;
    }

}
